草庐IT

从零到一发布 NPM 包

全部标签

javascript - 使用 NPM 重命名文件

有没有办法在npm脚本中重命名单个文件?我想准备要分发的文件,但我需要构建的文件与源文件中的命名不同...我已经尝试过orn,但它似乎只能在命令行上运行,而不是作为npm脚本运行。我特别希望添加一个跨平台依赖项来完成我的项目,而不是编写我自己的javascript脚本来复制文件。我理想的解决方案是我可以将其作为单行命令包含在package.json中,例如重命名旧文件名新文件名 最佳答案 当然。npmscript可以运行任何你想要的nodejs文件。例如:require('fs').rename(oldPath,newPath)更多

javascript - AWS Lambda执行环境预装了哪些NPM模块?

最近发现AWSLambdanodejs8.10预装了aws-sdkNPM模块。我在互联网上找不到任何关于它的信息。AWSLambda中预装了哪些其他node.js模块? 最佳答案 仅预安装了aws-sdk软件包。所有其余的都从“node_modules”目录加载..您可以在这里找到相关信息:https://docs.aws.amazon.com/lambda/latest/dg/nodejs-create-deployment-pkg.html 关于javascript-AWSLambd

javascript - npm 风格的 Emacs JS 模式

emacs是否有一个与npmstyle非常兼容的JS模式??到目前为止,我正在使用js2-mode的修改版native预期功能被覆盖并替换为“tabkey=2spaces”。但如果我的编辑器能够像这样处理缩进就好了:varo={foo:'bar',baz:'foo'},p,q=newSquash(o,{start:0,limit:50})实际上,js2-mode尽力正确缩进并在可能的位置之间循环,但例如“在r下排列的逗号”不是选项之一。当然,在emacs中编写像样的缩进代码很困难,而且我的elisp也达不到要求。请注意,如果有人知道另一个更适合此的编辑器,我可以接受转换。

javascript - Node/npm : How to manage globally installed devDependencies

我正在构建一个带有应该全局安装的devDependencies的Node模块,例如jasmine-node和jshint。我本质上需要的是能够在我的makefile/npm脚本部分引用它们的二进制文件以运行测试、lint等。换句话说,我不希望以编程方式require()它们。在四处挖掘之后,我仍然对如何处理这个问题感到困惑:1)我的第一个方法是假设这些模块将全局安装,在我的模块文档中阐明这一点并将它们的二进制文件引用为全局变量——即期望它们全局可用。这与这条建议冲突Makesureyouavoidreferencinggloballyinstalledbinaries.Instead,

javascript - 使用 npm 作为任务运行器/构建工具 - 某些 cli 模块有问题

阅读这篇文章后,我正在尝试使用npm作为任务运行器/构建工具:Howtousenpmasabuildtool虽然我取得了一些成功,但我仍然坚持一件事。当运行JSLINT、JSHINT或ESLINT等命令行全局工具时,npm将始终在控制台窗口中显示Exit1代码:如您所见,该命令运行良好,但npm将其视为错误并显示错误日志信息。这是否正常和/或是否有针对特定命令将其关闭的方法?附加信息:这是我的package.json配置中的脚本block:“脚本”:{“开始”:“Node./src/server/index.js”,“测试”:””,“lint”:“eslintindex.js”然后在n

javascript - npm init 中的 --yes 参数是什么意思?

npminit中的--yes参数是什么意思?我看到了here并想知道它到底做了什么。--y和--yes之间有区别吗? 最佳答案 执行npmhelpinit打印出有用的信息。即:Ifyouinvokeitwith-f,--force,-y,or--yes,itwilluseonlydefaultsandnotpromptyouforanyoptions. 关于javascript-npminit中的--yes参数是什么意思?,我们在StackOverflow上找到一个类似的问题:

javascript - Babel 安装无法通过 npm 运行

我正尝试按照此guy通过Babel安装ES6但我的终端机出错了。这是我在执行npminstall--globalbabel后看到的/usr/local/bin/babel->/usr/local/lib/node_modules/babel/cli.js/usr/local/bin/babel-node->/usr/local/lib/node_modules/babel/cli.js/usr/local/bin/babel-external-helpers->/usr/local/lib/node_modules/babel/cli.jsbabel@6.5.2/usr/local/l

javascript - 如何在单个系统上使用不同版本的 node/npm?

我的问题说明了一切。是否可以在单个系统上为每个项目安装和使用不同版本的npm? 最佳答案 是的,可以在单个系统中为每个项目使用不同版本的npm。IfyouareusingMacorLinuxbasedsystemsthenyoucanuserNodeVersionManager(nvm).Forbetterideaaboutinstallationandusagesofnvmyoucantakealookattheirgithubripo.Butifyouareusingwindowsthenyouhavetwoalternativ

javascript - 连接 NPM 脚本命令?

我知道可以使用&&、pre-和post-Hook链接NPM脚本,但是是否可以简单地分开将冗长的脚本行合并为单个串联行?例如,我想将其转换为:"script":{"build":"--many--commands--are--required--on--a--single--line"}进入这个:"script":{"part1":"--many--commands","part2":"--are--required","part3":"--on--a","part4":"--single--line","build":"part1+part2+part3+part4"}所以当我输入np

javascript - IE 中的 XPath 查询使用从零开始的索引,但 W3C 规范是从一开始的。我应该如何处理差异?

问题我正在转换目前仅适用于InternetExplorer的相对较大的Javascript,以便使其也适用于其他浏览器。由于代码广泛使用XPath,我们做了一些兼容性功能,使事情变得更容易functionselectNodes(xmlDoc,xpath){if('selectNodes'inxmlDoc){//useIElogic}else{//useW3C'sdocument.evaluate}}这大部分工作正常,但我们只是遇到了限制,即IE中的位置是从零开始的,但在其他浏览器使用的W3C模型中,它们是从一开始的。这意味着要获取第一个元素,我们需要在IE中执行//books[0],在